﻿global using Community.VisualStudio.Toolkit;
global using Microsoft.VisualStudio.Shell;
global using System;
global using Task = System.Threading.Tasks.Task;
using EnvDTE;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Input;

namespace VSIXProjectGit
{
    [PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
    [InstalledProductRegistration(Vsix.Name, Vsix.Description, Vsix.Version)]
    [ProvideMenuResource("Menus.ctmenu", 1)]
    [Guid(PackageGuids.VSIXProjectGitString)]
    public sealed class VSIXProjectGitPackage : ToolkitPackage
    {
        protected override async Task InitializeAsync(CancellationToken cancellationToken, IProgress<ServiceProgressData> progress)
        {
            await this.JoinableTaskFactory.SwitchToMainThreadAsync(cancellationToken);

            // 初始化提醒服务（会自动加载配置）
            var reminderService = ReminderService.Instance;
            
            //await MyCommand.InitializeAsync(this);
            await StartReminderCommand.InitializeAsync(this);
            await StopReminderCommand.InitializeAsync(this);
            await ConfigReminderCommand.InitializeAsync(this);
        }
    }
}